package com.sunyur.tailor.channel.service.inner.materiel.service;

import com.sunyur.tailor.channel.common.middle.base.ChannelListResult;
import com.sunyur.tailor.channel.common.middle.base.ChannelResult;
import com.sunyur.tailor.channel.service.inner.materiel.model.*;
import com.sunyur.tailor.channel.service.inner.materiel.param.*;

import java.util.List;

/**
 * @ClassName SunyurMaterielService
 * @Description 物料接口
 * @Author hao.tian
 * @Date 2021/5/20
 * @Version v1.0
 */
public interface SunyurMaterielService {
    /**
     * @Author pengbing
     * @Description 批量添加物料
     * @WIKI 10-批量添加物料【已上线】   http://doc.sunyur.com/pages/viewpage.action?pageId=61309118
     * @Date 15:15 2021/7/9
     * @Param [createCategoryParamList]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult batchAdditionMateriel(List<BatchAdditionMaterielParam> batchAdditionMaterielParamList) throws Exception;
    /**
     * @Author pengbing
     * @Description 批量获取物料
     * @WIKI 12-批量获取物料【已上线】   http://doc.sunyur.com/pages/viewpage.action?pageId=66388163
     * @Date 15:15 2021/7/9
     * @Param [createCategoryParamList]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult<List<ListMaterielModel>> listMateriel(ListMaterielParam listMaterielParam) throws Exception;
    /**
     * @Author pengbing
     * @Description 批量获取物料通过修改时间接口
     * @WIKI 25-批量获取物料   http://doc.sunyur.com/pages/viewpage.action?pageId=117014799
     * @Date 15:15 2021/7/9
     * @Param [createCategoryParamList]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelListResult<ListPagingByModifyTimeModel> listPagingByModifyTime(ListPagingByModifyTimeParam listPagingByModifyTimeParam) throws Exception;


    /***
     * @Author pengbing
     * @Description //商品批量替换物料(API_WEB非标准接口)（最大支持50条数据一次请求） 链接
     * @Date 10:32 2022/7/18
     * @Param [materielList]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult batchReplaceItemMaterial(List<ReplaceItemMaterialModel> materielList) throws Exception;
}

